package syntaxtree;
import java.util.ArrayList;

import typecheck.ClassEntry;
import visitor.BuildVisitor;
import visitor.TypeVisitor;
import visitor.Visitor;
public class Program {
  public MainClass m;
  public ClassDeclList cl;
  private ArrayList<ClassEntry> classesDoPrograma;
  //public HashT nomeClasses;// = new HashT();
  public Program(MainClass am, ClassDeclList acl) {
    m=am; cl=acl; 
    classesDoPrograma = new ArrayList<ClassEntry>();
    
  }

  public void accept(Visitor v) {
    v.visit(this);
  }

  public Type accept(TypeVisitor v) {
    return v.visit(this);
  }
  public void accept(BuildVisitor v) {
    classesDoPrograma =  v.visit(this);
  }
  public ArrayList<ClassEntry> getTabela() {
	  return classesDoPrograma;
  }
}
